TypeScriptのbuilt-in types
objectに対して、特定のkeyを、抜き取ったり、除外したりする
Pick<T, K extends keyof T>
TからKがkeyなものを抜き取る
型制約がないが、Tは普通はobject
code:ts
type A = Pick<{ a: string; b: string }, 'a'>; // {a: string}
Omit<T, K extends keyof T>
Kに指定したものを除外する
code:ts
type A = Omit<{ a: string; b: string }, 'a'>; // {b: string}
union型に対して、特定のkeyを、抜き取ったり、除外したりする
Extract<U, G>
UとGの間で共通しているunion型を取り出す
Exclude<U, E>
U - Eをやってる感じ
これらは別にunion型しか引数に取らないわけではないが、基本的にはunion型を取ると考えて良さそうmrsekut.icon
Required<T>
Tのプロパティの型を全てrequiredにする
Partial<R>
Readonly<T>
Tのプロパティの型を全てreadonlyにする
Record<K, T>
NonNullable<T>
Parameters<Fn>
ReturnType<Fn>